package com.ruoyi.fun.domain;

import java.math.BigDecimal;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 商品SKU对象 ec_product_sku
 * 
 * @author ruoyi
 * @date 2025-08-06
 */
public class EcProductSku extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** SKU ID */
    private Long skuId;

    /** 商品ID */
    @Excel(name = "商品ID")
    private Long productId;

    /** SKU编码 */
    @Excel(name = "SKU编码")
    private String skuCode;

    /** SKU名称 */
    @Excel(name = "SKU名称")
    private String skuName;

    /** 规格信息JSON */
    @Excel(name = "规格信息JSON")
    private String specInfo;

    /** 价格 */
    @Excel(name = "价格")
    private BigDecimal price;

    /** 原价 */
    @Excel(name = "原价")
    private BigDecimal originalPrice;

    /** 成本价 */
    @Excel(name = "成本价")
    private BigDecimal costPrice;

    /** 库存数量 */
    @Excel(name = "库存数量")
    private Long stock;

    /** 库存预警值 */
    @Excel(name = "库存预警值")
    private Long lowStock;

    /** 重量（kg） */
    @Excel(name = "重量", readConverterExp = "k=g")
    private BigDecimal weight;

    /** 体积（立方米） */
    @Excel(name = "体积", readConverterExp = "立=方米")
    private BigDecimal volume;

    /** SKU图片 */
    @Excel(name = "SKU图片")
    private String image;

    /** 销量 */
    @Excel(name = "销量")
    private Long saleCount;

    /** 状态 */
    @Excel(name = "状态")
    private String status;

    /** 是否会员才能购买 */
    @Excel(name = "是否会员才能购买")
    private Integer isVipBuy;

    /** 购买白名单 */
    @Excel(name = "购买白名单")
    private String buyWhiteList;

    /** 商品名称（关联查询） */
    private String productName;

    
    /** 组织ID */
    @Excel(name = "组织ID")
    private Long orgId;

    public void setSkuId(Long skuId) 
    {
        this.skuId = skuId;
    }

    public Long getSkuId() 
    {
        return skuId;
    }

    public void setProductId(Long productId) 
    {
        this.productId = productId;
    }

    public Long getProductId() 
    {
        return productId;
    }

    public void setSkuCode(String skuCode) 
    {
        this.skuCode = skuCode;
    }

    public String getSkuCode() 
    {
        return skuCode;
    }

    public void setSkuName(String skuName) 
    {
        this.skuName = skuName;
    }

    public String getSkuName() 
    {
        return skuName;
    }

    public void setSpecInfo(String specInfo) 
    {
        this.specInfo = specInfo;
    }

    public String getSpecInfo() 
    {
        return specInfo;
    }

    public void setPrice(BigDecimal price) 
    {
        this.price = price;
    }

    public BigDecimal getPrice() 
    {
        return price;
    }

    public void setOriginalPrice(BigDecimal originalPrice) 
    {
        this.originalPrice = originalPrice;
    }

    public BigDecimal getOriginalPrice() 
    {
        return originalPrice;
    }

    public void setCostPrice(BigDecimal costPrice) 
    {
        this.costPrice = costPrice;
    }

    public BigDecimal getCostPrice() 
    {
        return costPrice;
    }

    public void setStock(Long stock) 
    {
        this.stock = stock;
    }

    public Long getStock() 
    {
        return stock;
    }

    public void setLowStock(Long lowStock) 
    {
        this.lowStock = lowStock;
    }

    public Long getLowStock() 
    {
        return lowStock;
    }

    public void setWeight(BigDecimal weight) 
    {
        this.weight = weight;
    }

    public BigDecimal getWeight() 
    {
        return weight;
    }

    public void setVolume(BigDecimal volume) 
    {
        this.volume = volume;
    }

    public BigDecimal getVolume() 
    {
        return volume;
    }

    public void setImage(String image) 
    {
        this.image = image;
    }

    public String getImage() 
    {
        return image;
    }

    public void setSaleCount(Long saleCount) 
    {
        this.saleCount = saleCount;
    }

    public Long getSaleCount() 
    {
        return saleCount;
    }

    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }

    public void setProductName(String productName) 
    {
        this.productName = productName;
    }

    public String getProductName() 
    {
        return productName;
    }

    public void setOrgId(Long orgId) 
    {
        this.orgId = orgId;
    }

    public Long getOrgId() 
    {
        return orgId;
    }

    public void setIsVipBuy(Integer isVipBuy) 
    {
        this.isVipBuy = isVipBuy;
    }

    public Integer getIsVipBuy() 
    {
        return isVipBuy;
    }

    public void setBuyWhiteList(String buyWhiteList) 
    {
        this.buyWhiteList = buyWhiteList;
    }

    public String getBuyWhiteList() 
    {
        return buyWhiteList;
    }

    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("skuId", getSkuId())
            .append("productId", getProductId())
            .append("skuCode", getSkuCode())
            .append("skuName", getSkuName())
            .append("specInfo", getSpecInfo())
            .append("price", getPrice())
            .append("originalPrice", getOriginalPrice())
            .append("costPrice", getCostPrice())
            .append("stock", getStock())
            .append("lowStock", getLowStock())
            .append("weight", getWeight())
            .append("volume", getVolume())
            .append("image", getImage())
            .append("saleCount", getSaleCount())
            .append("status", getStatus())
            .append("isVipBuy", getIsVipBuy())
            .append("buyWhiteList", getBuyWhiteList())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
